/**
 * user.Profile.js
 * @ Библиотека управления профилем пользователя
 * @ Модуль: user.Profile
 */

/**
 * Процедура показа фотогалереи пользователя в расширенном режиме [НАЧАЛО]
 * @ Блок: хроника
 * @ Аргументы: -
 * @ Возврат: -
 * @ Проблемы: серьезных проблем не выявлено
*/

// Объявляем переменную статуса фотогалереи
// @ true - фотогалерея в расширенном режиме
// @ false - фотогалерея в свернутом режиме (по умолчанию)
var timelineFullScreen = false;
			
function changeTimelineView() {
	// Если фотогалерея в свернутом режиме
	if (timelineFullScreen == false) {
		// Запрещаем показ фотографий во всплывающем окне при клике
		$("img#gallery_photo").fancybox({
			'onStart': 0 
		});
		// Плавно увеличиваем значение высоты блока, за счет
		// чего фото снизу появляется в области видимости
		$('#gallery').animate({"height": "415px"});
		$('.showPhotos').css({
			// Меняем направление указывающей стрелки на "вверх"
			"background": "url(./images/arrow_top.png)",
			"background-repeat": "no-repeat",
			"background-position": "center",
		});
		// Меняем статус галереи на "расширенный режим"
		timelineFullScreen = true;
	}
	// Если фотогалерея в расширенном режиме
	else {
		// Плавно уменьшаем значение высоты блока, за счет чего
		// фото снизу скрывается из области видимости
		$('#gallery').animate({"height": "108px"});
		$('.showPhotos').css({
			// Меняем направление указывающей стрелки на "вниз"
			"background": "url(./images/arrow_bottom.png)",
			"background-repeat": "no-repeat",
			"background-position": "center",
		});
		// Разрешаем показ фотографий во всплывающем окне при клике			
		$("img#gallery_photo").fancybox({
			'onStart':  null,
			'overlayOpacity' : 0.2,
			'overlayShow'	: true,
			'padding': 0,
			'margin': 0,
			'showCloseButton': true,
			'transitionIn'	: 'fade',
			'transitionOut'	: 'fade'
		});
		// Меняем статус галереи на "свернутый режим"
		timelineFullScreen = false
	}
}

/** [КОНЕЦ] */


/**
 * Процедура вывода списка категорий пользователем - [НАЧАЛО] 
 * @Аргументы: -
 * @Возврат: -
 * @Проблемы: -
*/

// Объявляем переменную статуса cписка категорий
// @ true - список категорий развернут
// @ false - список категорий свернут (по умолчанию)			
var maximized = false;

function changeCategoryListView() {
	// Если список категорий свернут
	if (maximized == false) {
		$(".categoryList").animate({"height": "114px"});
		$(".categorySelector").css({"background-image": "url(./images/arrow_combo_top.png)"});
		maximized = true;
	}
	else {
		$(".categoryList").animate({"height": "0px"});
		$(".categorySelector").css({"background-image": "url(./images/arrow_combo_bottom.png)"});
		maximized = false;
	}
}

function selectCategoryItem(selectedItem) {
	var text = 	$(".activeItem").text();
	$(".activeItem").text(selectedItem.innerHTML);
	selectedItem.innerHTML = text;
	$(".categoryList").css({"height": "0px"});
	$(".categorySelector").css({"background-image": "url(./images/arrow_combo_bottom.png)"});
	showed = false;
}

var deletedPost = new Array();
function postAction(pid) {
	deletedPost[pid] = $("#post_block1_"+pid).html();
	$("#post_block1_"+pid).css({"opacity": "0", "width": "438px", "height": "30px", "line-height": "30px", "overflow": "hidden"});
	$("#post_block1_"+pid).html('<div style = "float: right; width: 380px; height: 30px; background: #F1F1F1">Публикация удалена | <a class = "restorePost" onclick = "restorePost('+pid+')">Восстановить</a></div>');
	$("#post_block1_"+pid).animate({"opacity": "1"});

}

function restorePost(pid) {
	$("#post_block1_"+pid).css({"opacity": "0", "width": "438px", "height": "auto", "line-height": "normal", "overflow": "auto"});
	$("#post_block1_"+pid).html(deletedPost[pid]);
	$("#post_block1_"+pid).animate({"opacity": "1"});
}

var postID = 0;
var postPattern;
var errorMsg;
			
function sendPost() {
	var error = false;
	postID++;
	// Скрываем блок отсутствия постов
	$(".no_posts").css("display", "none");
	
	// Принимаем данные, введенные пользователем
	var dateTime = new Date();
	var postText = $('#post_input').val().split(" ");
	var subjectText = $('#post_subject_input').val();
	var categoryName = $('.activeItem').text();
	
	/* if (postText.length < 20) {
		error = true;
		errorMsg = "Извините, но минимальный объем публикации должен составлять не менее 20 символов";
	} */
	
	
	for (var i=0; i<=postID; i++) {
		if (postText == $('#postText1_'+i).text()) {
			error = true;
			errorMsg = "Извините, но флуд на нашем ресурсе категорически запрещен. В противном случае мы направим Вас в рай";
		}
	}
	if (error) {
		alert(errorMsg);
	}
	else {
		// Форматируем дату и время в формате DD:MM:YYYY HH:MM
		var dateTime = $.format.date(dateTime, "dd.MM.yyyy в hh:mm");
		// Создаем блоки нового поста
		var postHeader;
		var postSubjectContent;
		var postCategory;
		var postTextContent;
		var postSpace;
		var postAttachment;
		var postHyperlink;
		var postReadMore;
		var postDate;
		var postComment;
		
		postHeader = '<div style = "width: 438px; height: 7px;"></div><div id = "post_block1_'+postID+'" style = "overflow: auto; width: 438px; opacity: 0;" onmouseover="showRightBtn('+postID+')" onmouseout="hideRightBtn('+postID+')"><div style = "float: left; width: 50px;"><a><img src = "./photos/201_01.jpg"/></a><div style = "width: 50px; color: #999; overflow: hidden;">Онлайн</div><div style = "height: 3px"></div></div><div style = "float: left; width: 8px; height: 50px;"></div><div class = "post_area" style = "float: left; width: 380px; text-align: justify;"><div style = "width: 380px; height: 20px; line-height: 20px; font-weight: bold"><a style = "color: black">Глеб Петров</a><div style = "float: right; font-weight: normal; color: #999;" onclick = "postAction('+postID+')" onmouseover="highlightBtn('+postID+')" onmouseout="unlightBtn('+postID+')"><img id = "postRightBtn1_'+postID+'" src = "./images/delete_icon.png" style = "opacity: 0.1; display: none; width: 20px; height: 20px;"/></div></div>';
		postSubjectContent = '';
		postAttachment = '';
		postHyperlink = '<div id = "postLinkTitle1_'+postID+'"style = "display: none; width: 380px; height: 15px; line-height: 15px"></div><div id = "postSpace1_'+postID+'"style = "display: none; width: 380px; height: 5px;"></div><div id = "postHyperlink1_'+postID+'" style = "display: none; width: 380px; background: #F1F1F1; overflow: auto;"></div><div id = "postSpace1_'+postID+'"style = "display: none; width: 380px; height: 5px;"></div>';
		postReadMore = '<a id = "readMore1_'+postID+'" style = "display: none; color: #999; font-weight: bold" onmouseover = "this.style.color='+"'#666'"+'" onmouseout = "this.style.color='+"'#999'"+'">Читать далее</a>';
		postSpace = '<div style = "width: 380px; height: 5px;"></div>';
		
		if (subjectText !== "Заголовок...") {
			postSubjectContent = '<div style = "width: 380px; font-size: 14px; color: #3AC0E1; font-weight: bold;" onmouseover = "this.style.color='+"'#9BC3CC'"+'" onmouseout = "this.style.color='+"'#3AC0E1'"+'"><a id = "postSubject1_'+postID+'"></a></div>';
		}
		postCategory = '<div style = "width: 150px; height: 15px; line-height: 15px; font-size: 10px; color: #999">Категория: <a style = "background: #555; color: white; border-radius: 3px;" onmouseover = "this.style.background='+"'black'"+'" onmouseout = "this.style.background='+"'#555'"+'" id = "postCategoty1_'+postID+'">'+categoryName+'</a></div>';
			
		postTextContent = '<div style = "width: 380px;"></div><a id = "postText1_'+postID+'"></a>';
		postAttachment = '<div id = "postLinkTitle1_'+postID+'"style = "display: none; width: 380px; height: 15px; line-height: 15px"></div><div id = "postSpace1_'+postID+'"style = "display: none; width: 380px; height: 5px;"></div><a style = "display: none;" id = "postAttachment1_'+postID+'"></a>';
		postDate = '<div style = "width: 380px; height: 20px; line-height: 20px; font-size: 10px; color: #8CA9FF"><div style = "float: left;"><a id = "postDate1_'+postID+'">'+dateTime+'</a> | <a style = "color: #999" id = "post_comment1_'+postID+'" onclick = "showComments(this, '+"'comment1_"+postID+"'"+');" onmouseover = "this.style.color='+"'#666'"+'" onmouseout = "this.style.color='+"'#999'"+'">Комментарии к записи</a></div><div id = "post_like" style = "float: right;"><span style = "color: #666; font-size: 12px; font-weight: bold">0</span></div></div><div style = "width: 380px; height: 10px; border: 1px solid #E1E1E1; border-style: none none solid none"></div>';
		postComment = '<div id = "comment1_'+postID+'" style = "width: 380px; background: #F1F1F1; overflow: hidden; display: none"><div style = "width: 380px; height: 3px;"></div><div style = "width: 380px;"><div style = "float: left; width: 3px; height: 40px;"></div><div style = "float: left; width: 40px;"><img src = "./photos/201_01.jpg" style = "width: 40px"/></div><div style = "float: left; width: 7px; height: 40px;"></div><div style = "float: left; width: 316px;"><div style = "width: 320px; height: 7px;"></div><textarea id = "comment_input1_'+postID+'" onFocus = "commentOnFocus(this, '+"'comment_send_block1_"+postID+"'"+')" onBlur = "commentOnBlur(this, '+"'comment_send_block1_"+postID+"'"+')" style = "width: 320px; height: 20px; line-height: 20px; font-family: tahoma, arial, verdana, sans-serif, Lucida Sans; font-size: 11px; border: 1px solid #E1E1E1; color: #999; resize: none;">Комментировать...</textarea><div id = "comment_send_block1_'+postID+'" style = "display: none; width: 320px; height: 30px"><div style = "width: 320px; height: 5px;"></div><div style = "width: 320px; height: 20px; text-align: center"><div style = "float: left; width: 5px; height: 20px;"></div><button style = "float: left; width: 120px; height: 20px; line-height: 10px; font-size: 11px; font-family: tahoma, arial, verdana, sans-serif, Lucida Sans; background: #1B2B34; line-height: 16px; color: #EDEDED; border: 1px solid #32424C; cursor: pointer; outline: 1px solid #333; border-top-color: #6E8FA6" onmouseover="this.style.background='+"'#233945'"+'" onmouseout = "this.style.background='+"'#1B2B34'"+'">Отправить</button><div style = "float: left; width: 150px; height: 20px; line-height: 20px;">Прикрепить</div></div><div style = "width: 320px; height: 5px;"></div></div></div></div></div>';
		postPattern = postHeader + postSubjectContent + postCategory + postTextContent + postHyperlink + postAttachment + postReadMore + postDate + postComment + postSpace;
		postInputFocusOut();
		$('.wall').prepend(postPattern);
		
		$("#postSubject1_"+postID).text(subjectText);
		
		var postWord;
		var postLink;
		var linkTitle;
		var issetLink = false;
		/**
		 * Записываем данные, введенные пользователем в текстовое поле поста
		 * и выводим их в цикле, предварительно форматируя строки
		 **/
		 
		for (var i=0; i<postText.length; i++) {
			postWord = '<span id = "'+postID+"_"+i+'">'+postText[i]+'</span> ';
			if (i == 0) {
				$("#postText1_"+postID).append(postSpace);
			}
			
			if (i <= 50) {
				$("#postText1_"+postID).append(postWord);		
			}
			
			if (i == postText.length-1) {
				$("#postText1_"+postID).append(postSpace);
			}
			
			if (i == 50) {
				$("#readMore1_"+postID).css("display", "block");
			}
			
			if ($("#"+postID+"_"+i+":contains('http')").html() !== null) {
				postLink = postText[i];
				$("#"+postID+"_"+i).css("border-bottom", "1px dotted black");
				$("#"+postID+"_"+i).html('<a style = "color: black" href = "'+postLink+'">'+postLink.substring(7, 25)+'</a>');
				if (issetLink == false) {
					
					if ((postLink.substring(postLink.length-3, postLink.length) == "bmp") || (postLink.substring(postLink.length-3, postLink.length) == "svg") || (postLink.substring(postLink.length-3, postLink.length) == "png") || (postLink.substring(postLink.length-3, postLink.length) == "jpg") || (postLink.substring(postLink.length-3, postLink.length) == "gif")) {
						$("#postAttachment1_"+postID).css("display", "block");
						$("#postSpace1_"+postID).css("display", "block");
						$("#postAttachment1_"+postID).html('<img style = "width: 380px;" src = "'+postLink+'"/>');
						$("#postLinkTitle1_"+postID).css("display", "block");
						$("#postLinkTitle1_"+postID).html("<img style = 'height: 15px' src='./images/hyperlink_icon.png'/>Изображение");
					}
					else {
					$("#postHyperlink1_"+postID).css("display", "block");
					$("#postSpace1_"+postID).css("display", "block");
					$("#postLinkTitle1_"+postID).css("display", "block");
					$("#postLinkTitle1_"+postID).html("<img style = 'height: 15px' src='./images/hyperlink_icon.png'/>Ссылка на <a href = '"+postLink+"' style = 'color: black; font-weight: bold; border-bottom: 1px dotted black'>"+postLink.substring(7, 40)+'</span>');
					$("#postHyperlink1_"+postID).html('<img src = "./images/loading.gif"/>');
					$.ajax({  
						url: "./libraries/getUrlData.php?url="+postLink,  
						cache: false,  
						success: function(code){
							$("#postHyperlink1_"+postID).html(code); // исправление быдло-кода
						}
					});                  
					issetLink = true;
				}
			}
			}
		}
		
		$("#postHyperlink1_"+postID).attr("href", postLink);

		$('#post_block1_'+postID).animate({"opacity": "1"});
	}
}

function showRightBtn(pid) {
	$("#postRightBtn1_"+pid).css("display", "block");
}
function hideRightBtn(pid) {
	$("#postRightBtn1_"+pid).css("display", "none");
}

function postInputFocusOut() {
	$("#post_input").attr("value", "Поделитесь мыслями...");
	$("#post_input").css({"height": "20px"});
	$("#post_send_block").css({"display": "none"});
	$("#post_subject_input").css({"font-weight": "normal", "font-size": "11px"});
	$("#post_attr_input").css({"display": "none"});
	$("#post_subject_input").attr("value", "Заголовок...");
	$("#post_input").css({"color": "#999"});
	$("#post_input").css({"line-height": "20px"});
}

/**
 * Процедура отправки поста пользователем - КОНЕЦ
 * */

			
			function commentOnFocus(input, send) {
				var sid = "#"+document.getElementById(send).id;
				var id = "#"+input.id;
					if ($(id).attr("value") == "Комментировать...")
					{
						$(id).attr("value", "");
						$(id).css({"height": "20px"});
						$(sid).css({"display": "block"});
						$(id).css({"color": "black"});
						$(id).css({"line-height": "normal"});
					}
					
				}
			
			function commentOnBlur(input, send) {
				var sid = "#"+document.getElementById(send).id;
				var id = "#"+input.id;
				if ($(id).attr("value") == "")
					{
						$(id).attr("value", "Комментировать...");
						$(id).css({"height": "20px"});
						$(sid).css({"display": "none"});
						$(id).css({"color": "#999"});
						$(id).css({"line-height": "20px"});
					}
					else {
						$(id).css({"height": "height: 40px"});
						$(sid).css({"display": "block"});
						$(id).css({"color": "black"});
						$(id).css({"line-height": "normal"});
					}
			}

var opened = false;
var active_btn_id; 
var active_block_id;
			
			function showComments(button, block_id) {
					
					if (opened == block_id) {
						var active_block = document.getElementById(active_block_id);
						active_block.style.display = 'none';
						button.innerHTML = "Комментарии к записи";
						active_block.id = block_id;
						opened = false;
					}
					else if (opened == false) {
						var comment_block = document.getElementById(block_id);
						comment_block.style.display = 'block';
						button.innerHTML = "Скрыть комментарии";
						active_block_id = comment_block.id;
						active_btn_id = button.id;
						opened = block_id;
						
						
					}
					
					else {
						var comment_block = document.getElementById(block_id);
						var active_btn = document.getElementById(active_btn_id);
						var active_block = document.getElementById(active_block_id);

						button.innerHTML = "Скрыть комментарии";
						
						active_btn.innerHTML = "Комментарии к записи";
					    active_block.style.display = 'none';	
						comment_block.style.display = 'block';
						active_block_id = comment_block.id;
						active_btn_id = button.id;
						opened = block_id;
					}
					
				}

function highlightBtn(btn) {
	$("#postRightBtn1_"+btn).animate({"opacity":"0.3"});	
}

function unlightBtn(btn) {
	$("#postRightBtn1_"+btn).animate({"opacity":"0.1"});	
}
				
			$(document).ready(function () { 
				
				$('#post_input').autoResize({
					'animateDuration': 400,
					'extraSpace': 20,
					'limit': 200
				});
				$("img#profile_photo").fancybox({
				'overlayOpacity' : 0.2,
				'overlayShow'	: true,
				'padding': 0,
				'margin': 0,
				'showCloseButton': true,
				'transitionIn'	: 'fade',
				'transitionOut'	: 'fade'
				});			
				
				$("img#gallery_photo").fancybox({
				'overlayOpacity' : 0.2,
				'overlayShow'	: true,
				'padding': 0,
				'margin': 0,
				'showCloseButton': true,
				'transitionIn'	: 'fade',
				'transitionOut'	: 'fade'
				});
				
				$("#ayolaid").css({"display": "none"});
				
				$("#post_subject_input").focusin(function () {
					if ($("#post_subject_input").attr("value") == "Заголовок...")
					{
						$("#post_subject_input").attr("value", "");
					}
				});
				
				$("#sendPostBtn").click(function() {
					sendPost();
				});
				
				$("#post_subject_input").focusout(function () {
					if ($("#post_subject_input").attr("value") == "")
					{
						$("#post_subject_input").attr("value", "Заголовок...");
						$("#post_subject_input").css({"font-weight": "normal", "font-size": "11px"});
					}
				});
	
				$("#post_input").focusin(function () {
					if ($("#post_input").attr("value") == "Поделитесь мыслями...")
					{
						$("#post_input").attr("value", "");
						$("#post_input").css({"height": "40px"});
						$("#post_send_block").css({"display": "block"});
						$("#post_attr_input").css({"display": "block"});
						$("#post_input").css({"color": "#5F5F5F"});
						$("#post_input").css({"line-height": "normal"});
					}
				});

				$("#post_input").focusout(function () {

					if ($("#post_input").attr("value") == "")
					{
						postInputFocusOut();
					}
					else {
						$("#post_input").css({"height": "height: 40px"});
						$("#post_send_block").css({"display": "block"});
						$("#post_input").css({"color": "#5F5F5F"});
						$("#post_input").css({"line-height": "normal"});
					}
				});
				
				$(".showPhotos").mouseover(function () {
					$(".showPhotos").animate({"opacity":"0.3"});
				});

				$(".showPhotos").mouseout(function () {
					$(".showPhotos").animate({"opacity":"0.1"});
				});
				
				$(".showPhotos").mouseover(function () {
					$(".showPhotos").animate({"opacity":"0.3"});
				});

				$(".showPhotos").mouseout(function () {
					$(".showPhotos").animate({"opacity":"0.1"});
				});
				
				$(".categoryItem").mouseover(function () {
					this.style.color = '#EDEDED';
					this.style.background = '#1B2B34';
				});

				$(".categoryItem").mouseout(function () {
					this.style.color = '#5F5F5F';
					this.style.background = '#F1F1F1';
				});
			});
